@echo off
REM Vehicle Secure 后端启动脚本 - 改进版
REM 此脚本用于帮助用户在没有Maven的情况下启动Spring Boot应用程序

SET "CURRENT_DIR=%cd%"
SET "PROJECT_DIR=%~dp0"

cd /d "%PROJECT_DIR%"

REM 检查是否存在Java
java -version >nul 2>&1
IF %ERRORLEVEL% NEQ 0 (
    echo 错误: 未找到Java运行环境，请先安装Java
    pause
    cd /d "%CURRENT_DIR%"
    exit /b 1
)

REM 检查MongoDB服务是否启动
echo 正在检查MongoDB服务...
tasklist | findstr "mongod.exe" >nul
IF %ERRORLEVEL% NEQ 0 (
    echo 警告: 未检测到MongoDB服务正在运行
    echo 请确保MongoDB服务已启动，连接地址: mongodb://localhost:27017/vehicle_secure
    pause
)

REM 检查是否有Maven可用
mvn --version >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
    echo 检测到Maven，使用Maven启动...
    mvn spring-boot:run
) ELSE (
    echo 未检测到Maven，尝试直接运行class文件...
    
    REM 检查是否存在target/classes目录
    IF NOT EXIST "target\classes" (
        echo 错误: 找不到target\classes目录，请先构建项目
        echo 建议安装Maven并执行 "mvn clean install" 命令
        pause
        cd /d "%CURRENT_DIR%"
        exit /b 1
    )
    
    echo 正在启动Vehicle Secure后端服务...
    echo 服务器端口: 8080
    echo API路径: /api/auth/login, /api/auth/register 等
    
    REM 尝试使用更通用的类路径格式启动应用
    java -cp "target\classes;target\lib\*;%USERPROFILE%\.m2\repository\org\springframework\boot\spring-boot-starter-web\3.2.5\*;%USERPROFILE%\.m2\repository\org\springframework\boot\spring-boot-starter-data-mongodb\3.2.5\*;%USERPROFILE%\.m2\repository\org\springframework\boot\spring-boot-starter-security\3.2.5\*;%USERPROFILE%\.m2\repository\io\jsonwebtoken\jjwt-api\0.11.5\*;%USERPROFILE%\.m2\repository\io\jsonwebtoken\jjwt-impl\0.11.5\*;%USERPROFILE%\.m2\repository\io\jsonwebtoken\jjwt-jackson\0.11.5\*" com.vehiclesecure.VehicleSecureApplication
)

cd /d "%CURRENT_DIR%"
pause